package eu.floranet.repositorio.sql;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Lob;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name="type_processo")
public class EntidadeTipoProcesso implements Serializable {
	@Id
	private int idtypeprocesso;

	@Column(name="type_processo_nome")
	@Lob
	private String processoNome;

	@Column(name="type_processo_descritivo")
	@Lob
	private String processoDescritivo;

	@OneToMany(mappedBy="processoTipo")
	private List<EntidadeProcesso> listaProcesso = new ArrayList<EntidadeProcesso>();

	private static final long serialVersionUID = 1L;

	public EntidadeTipoProcesso() {
		super();
	}

	public EntidadeTipoProcesso(String processoNome, String processoDescritivo) {
		this();
		setProcessoNome(processoNome);
		setProcessoDescritivo(processoDescritivo);
	}
	
	public int getIdtypeprocesso() {
		return this.idtypeprocesso;
	}

	public void setIdtypeprocesso(int idtypeprocesso) {
		this.idtypeprocesso = idtypeprocesso;
	}

	public String getProcessoNome() {
		return this.processoNome;
	}

	public void setProcessoNome(String processoNome) {
		this.processoNome = processoNome;
	}

	public String getProcessoDescritivo() {
		return this.processoDescritivo;
	}

	public void setProcessoDescritivo(String processoDescritivo) {
		this.processoDescritivo = processoDescritivo;
	}

	public List<EntidadeProcesso> getListaProcesso() {
		return this.listaProcesso;
	}

	public void setListaProcesso(List<EntidadeProcesso> listaProcesso) {
		this.listaProcesso = listaProcesso;
	}

	public EntidadeProcesso addEntidadeProcesso(EntidadeProcesso entidadeProcesso){
		getListaProcesso().add(entidadeProcesso);
		entidadeProcesso.setProcessoTipo(this);
		return entidadeProcesso;
	}

	public EntidadeProcesso removeEntidadeProcesso(EntidadeProcesso entidadeProcesso){
		getListaProcesso().remove(entidadeProcesso);
		entidadeProcesso.setProcessoTipo(null);
		return entidadeProcesso;
	}
}
